From: Giovanni Campagna Date: Thu, 21 Apr 2011 15:02:19 +0000 (+0200) Subject: BluetoothStatus: show "hardware disabled" when disabled by rfkill X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~8147 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=9412ac2027cad9ac72244d7c183ab9674886bd41;p=gnome-shell.git BluetoothStatus: show "hardware disabled" when disabled by rfkill Use the new PopupSwitchMenuItem functionality when bluetooth cannot be enabled. Use it also for showing "connecting..." when activating device items. https://bugzilla.gnome.org/show_bug.cgi?id=648048 --- diff --git a/js/ui/status/bluetooth.js b/js/ui/status/bluetooth.js index ed06d1658..4cf8d3be5 100644 --- a/js/ui/status/bluetooth.js +++ b/js/ui/status/bluetooth.js @@ -109,7 +109,11 @@ Indicator.prototype = { current_state != GnomeBluetoothApplet.KillswitchState.HARD_BLOCKED; this._killswitch.setToggleState(on); - this._killswitch.actor.reactive = can_toggle; + if (can_toggle) + this._killswitch.setStatus(null); + else + /* TRANSLATORS: this means that bluetooth was disabled by hardware rfkill */ + this._killswitch.setStatus(_("hardware disabled")); if (has_adapter) this.actor.show(); @@ -211,14 +215,15 @@ Indicator.prototype = { if (device.can_connect) { item._connected = device.connected; item._connectedMenuitem = new PopupMenu.PopupSwitchMenuItem(_("Connection"), device.connected); - item._connectedMenuitem.connect('toggled', Lang.bind(this, function() { if (item._connected > ConnectionState.CONNECTED) { // operation already in progress, revert + // (should not happen anyway) menuitem.setToggleState(menuitem.state); } if (item._connected) { item._connected = ConnectionState.DISCONNECTING; + menuitem.setStatus(_("disconnecting...")); this._applet.disconnect_device(item._device.device_path, function(applet, success) { if (success) { // apply item._connected = ConnectionState.DISCONNECTED; @@ -227,9 +232,11 @@ Indicator.prototype = { item._connected = ConnectionState.CONNECTED; menuitem.setToggleState(true); } + menuitem.setStatus(null); }); } else { item._connected = ConnectionState.CONNECTING; + menuitem.setStatus(_("connecting...")); this._applet.connect_device(item._device.device_path, function(applet, success) { if (success) { // apply item._connected = ConnectionState.CONNECTED; @@ -238,6 +245,7 @@ Indicator.prototype = { item._connected = ConnectionState.DISCONNECTED; menuitem.setToggleState(false); } + menuitem.setStatus(null); }); } }));